package br.com.gip.controller;

import java.io.Serializable;

import javax.faces.context.FacesContext;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import br.com.gip.business.UsuarioBusiness;
import br.com.gip.repository.model.Usuario;


@Scope("session")
@Controller("loginController")
public class LoginController implements Serializable {

	private static final long serialVersionUID = 1357751952067007135L;

	@Autowired
	private UsuarioBusiness usurioBusiness;
	
	private Usuario usuario;
	
	private String message;

	public LoginController() {
		this.usuario = new Usuario();
		this.message = "";
	}
	
	public String efetuarLogin() {
		String forward = "login-invalido";
		
		Usuario usuario = usurioBusiness.efetuarLogin(this.usuario.getLogin(), this.usuario.getPassword());
		
		if (usuario != null) {
			this.message = "";
			this.usuario = usuario;
			
			forward = "login-valido";
		} else {
			this.message = "login ou senha invalido";
		}
		
		return forward;
	}

	public String efetuarLogout() {
		FacesContext context = FacesContext.getCurrentInstance();
		context.getExternalContext().getSessionMap().remove("user");  
		
		this.message = "";
		this.usuario = new Usuario();
		
		return "logout";
	}
	
	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

}
